Distributed computer systems have the capability of sharing resources. “Clustering” generally refers to a computer system organization where multiple computing platforms, or nodes, are networked together to cooperatively perform computer tasks. The cluster typically provides rapid communication between nodes, such as over a local area network or other type of communication interconnection. The cluster also typically includes a shared storage device or resource accessible by the clustered nodes.
Operation of a cluster generally requires coordination among the nodes, including cluster partitioning. Cluster partitioning may result if a network communication failure occurs such that one or more of the nodes cannot communicate with other nodes of the cluster. Generally, resources hosted on a node that has lost communication with other nodes are terminated to ensure that the resources are being run on only one node in the cluster. Otherwise, a condition known as split-brain operation may occur where multiple nodes may decide that is proper to control a resource which should be controlled by one node at a time.